/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package czStvDpds.movement;

import czStvDpds.centrallogic.PlayerMovement;
import czStvDpds.input.LWJGLKeyEvent;
import czStvDpds.input.LWJGLMouseEvent;

/**
 * Edited by Divad
 *
 * @author Vašek
 */
public interface AbstractPlayer {

    public double getX();

    public double getY();

    public double getYaw(); //Ve stupních

    public double getPitch(); //Pitch je naklánění kamery nahoru a dolů, vrátí ve stupních

    public void setX(double to); //Set metody kvůli síti

    public void setY(double to);

    public void setYaw(double to);

    public void setPitch(double to);

    public String getName();
    
    public void movePlayer(PlayerMovement m, int time);

    /**
     * @author Divad
     *
     * @param e
     */
    public void keyAction(LWJGLKeyEvent e);

    /**
     * @author Divad
     *
     * @param e
     */
    public void mouseAction(LWJGLMouseEvent e);

    public void step(); //Každých, řekněme, 20 ms se provede překreslení a s ním i metoda step, která s postavou pohne/otočí etc.
}
